#define _CRT_SECURE_NO_WARNINGS
bool validateStackSequences(int* pushed, int pushedSize, int* popped, int poppedSize) {
    if (pushedSize == 0 && poppedSize == 0)
        return true;

    int stack[pushedSize];
    int top = 0;

    int i = 0;
    int index = 0;
    // while (index < poppedSize)
    // {
    //     if (top > 0 && popped[index] == stack[top - 1])
    //     {
    //         index++;
    //         top--;
    //     }
    //     else
    //     {
    //         for (; i<pushedSize && pushed[i]!=popped[index]; i++)
    //         {
    //             stack[top] = pushed[i];
    //             top++;
    //         }

    //         if (i >= pushedSize)
    //             return false;
    //         else
    //             i++;

    //         index++;
    //     }
    // }
    for (; i < pushedSize; i++)
    {
        stack[top++] = pushed[i];

        while (top > 0 && stack[top - 1] == popped[index])
        {
            index++;
            top--;
        }
    }

    return top == 0;
}